﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsDescripcionGeneral_CD
    {
        private dsInmoviliario dsInmoviliario;
        private dsInmoviliarioTableAdapters.DescripcionTableAdapter TADescripcion;

        public clsDescripcionGeneral_CD()
        {
            this.dsInmoviliario = new dsInmoviliario();
            this.dsInmoviliario.DataSetName = "dsInmoviliario";
            this.dsInmoviliario.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;

            this.TADescripcion = new AvaProvi.dsInmoviliarioTableAdapters.DescripcionTableAdapter();
            this.TADescripcion.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public dsInmoviliario.DescripcionRow RecuperaDescripcion(int IDAvaluo)
        {
            TADescripcion.RecuperaDescripcion(dsInmoviliario.Descripcion, IDAvaluo);
            foreach (dsInmoviliario.DescripcionRow filaDescricion in this.dsInmoviliario.Descripcion)
            {
                return filaDescricion;
            }
            return null;
        }

        public bool CreaDescripcion(clsDescripcionGeneral_CRN objDescripcion)
        {
            int RegistrosAfectados = TADescripcion.NuevaDescripcion(
                objDescripcion.UsoActual,
                objDescripcion.NoDeEstacionamientos,
                objDescripcion.NoBaniosCompletos,
                objDescripcion.NoBaniosMedios,
                objDescripcion.Elevador,
                objDescripcion.CalidadProyecto,
                objDescripcion.CalidadConstruccion,
                objDescripcion.ClasificacionConstruccion,
                objDescripcion.DeficienciasRelevantes,
                objDescripcion.EstadoConservacion,
                objDescripcion.UnidadesRentables,
                objDescripcion.UnidadesRentablesGenerales,
                objDescripcion.Sotano,
                objDescripcion.Mezzaninne,
                objDescripcion.Cubiertas,
                objDescripcion.MurosPrefabricados,
                objDescripcion.MurosDeConcreto,
                objDescripcion.ColumnasCortas,
                objDescripcion.Contraventeo,
                objDescripcion.Trabes,
                objDescripcion.ColumnasDe,
                objDescripcion.Claros,
                objDescripcion.GolpeteoColindante,
                objDescripcion.Hundimientos,
                objDescripcion.Sobrepeso,
                objDescripcion.RepDanios,
                objDescripcion.EstReforzado,
                objDescripcion.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaDescripcion(clsDescripcionGeneral_CRN objDescripcion)
        {
            int RegistrosAfectados = TADescripcion.ActualizaDireccion(
                objDescripcion.UsoActual,
                objDescripcion.NoDeEstacionamientos,
                objDescripcion.NoBaniosCompletos,
                objDescripcion.NoBaniosMedios,
                objDescripcion.Elevador,
                objDescripcion.CalidadProyecto,
                objDescripcion.CalidadConstruccion,
                objDescripcion.ClasificacionConstruccion,
                objDescripcion.DeficienciasRelevantes,
                objDescripcion.EstadoConservacion,
                objDescripcion.UnidadesRentables,
                objDescripcion.UnidadesRentablesGenerales,
                objDescripcion.Sotano,
                objDescripcion.Mezzaninne,
                objDescripcion.Cubiertas,
                objDescripcion.MurosPrefabricados,
                objDescripcion.MurosDeConcreto,
                objDescripcion.ColumnasCortas,
                objDescripcion.Contraventeo,
                objDescripcion.Trabes,
                objDescripcion.ColumnasDe,
                objDescripcion.Claros,
                objDescripcion.GolpeteoColindante,
                objDescripcion.Hundimientos,
                objDescripcion.Sobrepeso,
                objDescripcion.RepDanios,
                objDescripcion.EstReforzado,
                objDescripcion.Inmueble.Avaluo.IdAvaluo,
                objDescripcion.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaDescripcion(clsDescripcionGeneral_CRN objDescripcion)
        {
            int RegistrosAfectados = TADescripcion.EliminaDescripcion(             
                objDescripcion.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
